package br.com.cqipac.action;

import java.util.ArrayList;
import java.util.List;

import javax.naming.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.interceptor.ServletRequestAware;

import br.com.cqipac.ejb.BeanFactory;
import br.com.cqipac.ejb.FacadeIpacRemote;
import br.com.cqipac.to.Funcionario;
import br.com.cqipac.to.Setor;
import br.com.cqipac.to.SetorFuncionario;
import br.com.cqipac.util.TrataErro;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport implements
		ServletRequestAware {

	private static final long serialVersionUID = 1L;

	private HttpServletRequest request;
	private HttpSession session;

	private Funcionario funcionario;
	private Setor setor;
	
	private List<Setor> setores;
	
	public String login() {
		
		FacadeIpacRemote facadeIpac;

		facadeIpac = BeanFactory.getFacadeIpacRemoteBean();
		
		SetorFuncionario setorFuncionario;
		
		try {
			setores = facadeIpac.listaSetores();
		} catch (java.lang.Exception e) {
			session.setAttribute("erro", TrataErro.mensagem(e));
		}
		
		return "sucesso";
	}
	
	public String logout() {
		
		session.removeAttribute("menus");
		session.removeAttribute("setorFuncionario");
		
		return "sucesso";
	}

	public Funcionario getFuncionario() {
		return funcionario;
	}

	public void setFuncionario(Funcionario funcionario) {
		this.funcionario = funcionario;
	}

	public Setor getSetor() {
		return setor;
	}

	public void setSetor(Setor setor) {
		this.setor = setor;
	}

	@Override
	public void setServletRequest(HttpServletRequest request) {
		this.request = request;
		this.session = request.getSession();
	}

	public static Context getInitialContext()
			throws javax.naming.NamingException {
		return new javax.naming.InitialContext();
	}

//	  public List getDay(){
//		    return day;
//		  }

	public List getSetores() {
		return setores;
	}

	public void setSetores(List setores) {
		this.setores = setores;
	}

}
